package com.szrt.java.day20170111.ch06;

import static org.junit.Assert.*;

import java.util.regex.Matcher;
import java.util.regex.Pattern;

import org.junit.Test;

public class PatternTest {
	public static void main(String[] args) {
		
		// 倚天屠龙记  张无忌   一共出现出现了次。
		
		// 张无忌练就了2种功夫，一种是九阳神功，另外一种是乾坤大挪移
		
		
		//正则表达式：专门用来查找一个字符串 是不是有指定的字符串。
		String yttlj = "张无忌练就了2种功夫，一种是九阳神功，另外一种是乾坤大挪移";
		
		yttlj = "aa阳神功sssss";
		
		//1 定义规则  问 xx 这个字符串中是否有九阳神功。
		
		String guize ="a+";
		
		Pattern reg = Pattern.compile(guize);
		
		
		Matcher matcher = reg.matcher(yttlj);
		
		//2 去查找
		boolean jieguo =matcher.matches();
		System.out.println(jieguo);
		
		
		
		
		
	}
	
	
	@Test
	public void testName() throws Exception {
		
		String regex_rules=".abc.";
		String match_str="dabcd";
		
		Pattern pattern =  Pattern.compile(regex_rules);
		
		Matcher matcher2= pattern.matcher(match_str);
		
		System.out.println(matcher2.matches());
		
	}
	
	@Test
	public void bb() throws Exception {
		
		 //.  匹配除"\r\n"之外的任何单个字符。
		 //*  零次或多次匹配前面的字符或子表达式
		 Pattern p = Pattern.compile(".*九阳神功.*");
		 Matcher m = p.matcher("张无忌练就了2种功夫，一种是九阳神功，另外一种是乾坤大挪移");
		 boolean b = m.matches();
		 System.out.println(b);

		
	}
	
	@Test
	public void phone() throws Exception {
		// ^ 以什么开头
		//  $ 以什么结尾
		// [0-9] 数字0到9都可以 
		// {10}  手机号码除了1之外。后面有且只有10个数字
		// http://www.runoob.com/java/java-regular-expressions.html
		String rules="^1[0-9]{10}$";
		String r="13926583118";
		/**
		 * 编译compile
		 */
		Pattern p1=Pattern.compile(rules);
		/**
		 * matcher匹配
		 */
		Matcher m=p1.matcher(r);
		boolean a=m.matches();
		System.out.println(a);
		
		/*boolean p=Pattern.matches(rules, r);
		System.out.println(p);*/

	}

}
